// 种草分页
import { ref,reactive } from "vue";

export default function usePageList(api, data) {
    let apiData = reactive(data) // 请求参数：limit、page

    let list = ref([]) //分页数据

    let loading = ref(false); // 进入页面 调用onload时，会自动变成true

    let finished = ref(false); // 是否加载完所有数据

    let onLoad = async () => {
        let res = await api(apiData);
        loading.value = false;  // 调用接口后取消加载状态
        // 如果有数据push到种草列表
        if (res.data.list) {
            list.value.push(...(res.data.list || []));
        }
        apiData.page++;

        if (apiData.page > Math.ceil(res.data.count / apiData.limit)) {
            // 已加载完全部数据，不再调用接口
            finished.value = true;
        }
    };

    return {
        list,
        onLoad,
        loading,
        finished
    }
}